Digital graphics and digital image editing are the processes of creating and/or modifying digitally generated or digitally acquired and stored image data. Using specialized software programs, users may create, generate, manipulate, edit and transform images in a variety of ways. These digital image editors may include programs of differing complexity, such as limited-purpose programs associated with acquisition devices (e.g., digital cameras and scanners with bundled or built-in programs for managing brightness and contrast); limited editors suitable for relatively simple operations such as rotating and cropping images; and professional-grade programs with large and complex feature sets. Similarly, digital graphics editors may include programs of differing complexity, such as limited-purpose programs associated with acquisition devices (e.g., digital cameras and scanners with bundled or built-in programs for managing colour balance or applying specific graphics effects); limited editors suitable for relatively simple graphics generation (e.g., for example as part of general suites of software for business and/or residential users); and professional-grade programs with large and complex feature sets (e.g., simulating different artistic formats such as watercolour, calligraphy, pastels, oils, etc. with various applicators including various brushes, pens, air brushes, markers, sponges and knives).
Digital graphics and digital images may include, for example, “formatted” graphics and/or graphics data for use in generating an image with a digital graphics editor suite prior to “printing” the final or interim image. Accordingly, such graphics and images may include raster graphics, vector graphics, or a combination thereof. Raster graphics data (also referred to herein as bitmaps) may be stored and manipulated as a grid of individual picture elements called pixels. A bitmap may be characterized by its width and height in pixels and also by the number of bits per pixel. Commonly, a colour bitmap defined in the RGB (red, green blue) colour space may comprise between one and eight bits per pixel for each of the red, green, and blue channels. Another commonly used representation is a CMYK colour space. In these and other colour space representations, an alpha channel may be used to store additional data such as per-pixel transparency values (or the inverse-opacity values). For example, per-pixel data representing paint on a brush tool or on a canvas may include a set of colour values (e.g., one per channel) and an opacity value for the paint. In contrast vectors graphics are generally characterized by the use of geometrical primitives such as points, lines, curves, and shapes or polygons, all of which are based on mathematical expressions, to represent images along with boundary information (e.g. stroke line style and colour) and fill information (e.g. fill style and colour).
An operation often provided by digital graphics and digital image editors is the use of a virtual “paintbrush” (also referred to herein as a “brush”, “brush tool”, or mark making tool) to modify a digital image by depositing virtual paint or virtual ink. Various prior approaches have attempted to model a real-world brush and its behavior in the context of such an operation. For example, a two-dimensional (2D) raster image may be created to represent the shape of the brush as it contacts the canvas, and the 2D image may be stamped repeatedly along the input path. In another approach, a vector representation of the brush tip has been used instead of a 2D raster image.
Some existing digital painting applications create strokes by repeatedly applying a stamp at incremental positions along a path. The stamp consists of a 2D array of pixels that represent what the “brush” looks like at an instant in time. By repeatedly applying the stamp at close spacing, the effect of the brush being dragged continuously across the canvas is created, in the form of an elongated stroke. Some existing applications provide multiple settings for users to control the appearance of the stroke, e.g. size, opacity, mark making tool, and brush style. However, such applications led to uniform marks being made by the mark making tool along the stroke as the same process as applied by the software application at each point along the stroke. Accordingly, most existing applications in order to increase the realism of strokes by simulating varying user tool handling, pressure, angle of tool, etc. provide for the application of predefined functions and/or jitter to the values of the mark making tool within the stroke. Predefined functions address, for example, the initial or final stages of a stroke for the application of a brush to canvas whilst jitter addresses the intervening section of the stroke. In this manner, a brush stroke may be simulated as having increasing pressure at the beginning of stroke, some variability in pressure during the stroke, and decreasing pressure at the end of the stroke.
However, a problem with this approach is that the results can often yield, either through combining it with variations in other aspects of the stroke or solely, to strokes with mark making tools that are rendered by the software application being unnatural and appearing artificial despite the goal of the software application being to simulate as realistically as possible physical graphics image generating techniques such as painting with watercolours. Accordingly, it would be beneficial to provide either users or the software application with a mechanism to remove or reduce artifacts indicative of artificial generation, e.g. rapid transitions.
In a wide variety of applications the graphic images being generated and/or manipulated refer to imagined environments or have elements that are physical in nature. For example, science fiction art can represent anything from an alien character through to an imagined view of a galaxy, solar system etc. Accordingly, it would be beneficial to provide users with a range of mark making tools that do not mimic a mark making tool such as a brush, air brush, pen, etc. but rather represent marks made by mark making tools comprising multiple elements following physical laws.
Other aspects and features of the present invention will become apparent to those ordinarily skilled in the art upon review of the following description of specific embodiments of the invention in conjunction with the accompanying figures.